home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / data / dora / doraloop.plp < prev    next >
Text File  |  1995-08-09  |  25KB  |  816 lines

  1. /*    端末属性を設定する    */
  2. %ESCset1{case    (ESCon={No},
  3.         {Yes},{wait(Wtime2,{type({2|3\n})},{中止},{WaitMK;type({2|3\n})}
  4.                 ,{終了},{WaitMK;type({2|3\n})}
  5.                 ,{やめっ},{WaitMK;type({2|3\n})}
  6.                 ,{uit},{WaitMK;type({2|3\n})});
  7.             case    (ID={}||ID={GUEST},
  8.                 {No},{receive(LOG2|{アクセスdat\ゾクセイoff.DAT})})
  9.         },
  10.         {No},{wait(Wtime2,{type({2|1\n})},{中止},{WaitMK;type({2|1\n})}
  11.                 ,{終了},{WaitMK;type({2|1\n})}
  12.                 ,{やめっ},{WaitMK;type({2|1\n})}
  13.                 ,{uit},{WaitMK;type({2|1\n})});
  14.             case    (ID={}||ID={GUEST},
  15.                 {No},{receive(LOG2|{アクセスdat\ゾクセイ.DAT})})
  16.         });
  17.     };
  18. %ESCset2{case    (ESCon={No},
  19.         {Yes},{wait(Wtime2,,{中止},{WaitMK;type({3|3\n})}
  20.                 ,{終了},{WaitMK;type({3|3\n})}
  21.                 ,{やめっ},{WaitMK;type({3|3\n})}
  22.                 ,{uit},{WaitMK;type({3|3\n})});
  23.             case    (ID={}||ID={GUEST},
  24.                 {No},{receive(LOG2|{アクセスdat\ゾクセイoff.DAT})})
  25.         },
  26.         {No},{wait(Wtime2,,{中止},{WaitMK;type({3|1\n})}
  27.                 ,{終了},{WaitMK;type({3|1\n})}
  28.                 ,{やめっ},{WaitMK;type({3|1\n})}
  29.                 ,{uit},{WaitMK;type({3|1\n})});
  30.             case    (ID={}||ID={GUEST},
  31.                 {No},{receive(LOG2|{アクセスdat\ゾクセイ.DAT})})
  32.         });
  33.     };
  34. %EDITset2{loop    ({    type({2\n});
  35.         wait(Wtime2,,{CRのみの送信に設定},{im({Yes})}
  36.             ,{CR/LFの送信に設定},{im({No})})
  37.         });
  38.     };
  39. %MODEset1{wait(Wtime2,,{中止},{WaitMK;type({3|3\n})}
  40.         ,{終了},{type({3|3\n})}
  41.         ,{やめっ},{type({3|3\n})}
  42.         ,{uit},{WaitMK;type({3|3\n})}
  43.         )};
  44. %MODEset2{wait(Wtime2,,{中止},{WaitMK;type({4|3\n})}
  45.         ,{終了},{type({3|3\n})}
  46.         ,{やめっ},{type({3|3\n})}
  47.         ,{uit},{WaitMK;type({4|3\n})}
  48.         )};
  49. %MOREset1{wait(Wtime2,,{中止},{WaitMK;type({4|0\n})}
  50.         ,{終了},{type({4|0\n})}
  51.         ,{やめっ},{WaitMK;type({4|0\n})}
  52.         ,{5 :モアスイッチ },{WaitMK;type({5|0\n});netTYPE:={Aoity}}
  53.         ,{uit},
  54.         {
  55.         WaitMK;type({4|0\n});
  56.         wait    (5,{type({4|0\n})},
  57.             {BEEPmode},{type({2\n});netTYPE:={Aoity};MOREset2}
  58.             );
  59.         })
  60.     };
  61. %MOREset2{wait(Wtime2,,{中止},{WaitMK;type({5|0\n})}
  62.         ,{終了},{type({4|0\n})}
  63.         ,{やめっ},{WaitMK;type({4|0\n})}
  64.         ,{uit},{WaitMK;type({5|0\n})}
  65.         )};
  66.  
  67. %GENGOset1{
  68.         wait    (Wtime2,
  69.             ,{中止},{WaitMK;type({5|2\n})}
  70.             ,{終了},{type({5|2\n})}
  71.             ,{やめっ},{WaitMK;type({5|2\n})}
  72.             ,{Quit},{WaitMK;type({\n})}
  73.             ,{quit},{WaitMK;type({5|2\n})}
  74.             );
  75.         loop    ({
  76.             wait    (3,{type({\n});im({Yes})}
  77.                 ,{uit},
  78.                 {type({\n});
  79.                 wait    (3,,{ESC削除},{ZOKUend}
  80.                     ,{uit},{});
  81.                     im({No})}
  82.                 ,{English},
  83.                 {WaitMK;type({5|3\n});    /*SSS-NET対応*/
  84.                 wait    (3,,{RTBBS互換},{});
  85.                     im({No})}
  86.                 ,{ESC削除},{ZOKUend}
  87.                 ,{値が大きすぎます},{ZOKUend});
  88.             });
  89.     };
  90. %ZOKUend{    wait(1);case    (ESCon={No},
  91.                 {Yes},{type({3\n})},
  92.                 {No},{type({1\n})});im({No})
  93.     };
  94. %ZOKU{var netTYPE[6];
  95.     wait(3);type({\n});type({I|D\n});
  96.     mkdir2(LOG2|{アクセスdat});DOWNCHECK;
  97.     delfile(LOG2|{アクセスdat\ゾクセイ.DAT});
  98.     delfile(LOG2|{アクセスdat\ゾクセイoff.DAT});dispoff({No});
  99.     type({1\n});
  100.     loop    ({
  101.         wait(5,{type({1\n});im({Yes})}
  102.             ,{More},{type({\n});im({Yes})}
  103.             ,{ベタエディタに},{WaitMK;type({1\n});im({Yes})}
  104.             ,{標準型},{WaitMK;type({1\n});im({Yes})}
  105.             ,{短縮型},{im({No})}
  106.             ,{サポート},{im({No})}
  107.             ,{ラインエディタに},{im({No})}
  108.             ,{編集用エディタに},{im({No})}
  109.             ,{CRのみの送信に設定},{WaitMK;type({1\n});im({Yes})}
  110.             ,{1:ESC完全表示},{
  111.             case    (ESCon={No},
  112.             {Yes},{WaitMK;type({1\n})},{No},{WaitMK;type({2\n})});
  113.             im({No})}
  114.             ,{CR/LFの送信},{im({No})})
  115.         });
  116.     wait(Wtime1,,    {属性を変更},{netTYPE:={normal}},
  117.             {変更するものを},{netTYPE:={normal}},
  118.             {項目を変更},{netTYPE:={normal}},
  119.             {4 :BEEP音モード},{netTYPE:={Aoity}},
  120.             {[32m5[m :[33mエディタ行番号},{netTYPE:={KTty}},
  121.             {5 :エディタ行番号},{netTYPE:={KTty}},
  122.             {[32m2[m :[33mラインフィード設定},{netTYPE:={JCty}},
  123.             {2 :ラインフィード設定},{netTYPE:={JCty}});
  124.     case    (netTYPE,
  125.         {normal},
  126.         {
  127.         ESCset1;MODEset1;MOREset1;
  128.         case    (netTYPE,
  129.             {normal},{GENGOset1});
  130.         },
  131.         {Aoity},{ESCset1;MODEset1;MOREset1},
  132.         {KTty},{ESCset1;MODEset1;MOREset1},
  133.         {JCty},{EDITset2;ESCset2;MODEset2;MOREset2}
  134.         );
  135.     type({\n});wait(3,{type({0\n})},{>},{type({0\n})});
  136.     case    (ID={}||ID={GUEST},
  137.         {No},{DOWNSTOP;DOWNSTART},
  138.         {Yes},{CHeck:={No}})
  139.     };
  140.  
  141. /*  伝言板を見る & 書く  */
  142.  
  143. %DENGON{
  144.     endWD:={//};footnote({伝言板を見ています});type({G\n});
  145.     loop    ({
  146.         wait    (3,{im({Yes})}
  147.             ,{[N]},{type({N\n});wait(1);type({G\n});im({Yes})}
  148.             ,{----------------------},{im({No})}
  149.             );
  150.         });
  151.     wait(Wtime2,,{[RET]},{endWD:={}},{伝言板},{},
  152.         {メッセージ},{},{でんごん},{},{Gather},{});
  153.     case    (@filechk(UP2|{DENGO}),
  154.         {Yes},{WaitMKD;DOWNSTOP;wait(2);send(UP2|{DENGO});DOWNSTART});
  155.     WaitMK;type(endWD|{\n});delfile(UP2|{DENGO});
  156.     preRetM
  157.     };
  158. /* メール削除処理 */
  159. %DELsyori{
  160.     %comA{いないメールはあり};%comB{いたメールはあり};
  161.     %comC{いないメールはない};%comD{.LZH\n};%comE{.JPG\n};
  162.     %ckMail{var n[3]; n:=1;var N[3]; N:=@noline(Malchk);
  163.         loop    ({    n:=n+1;
  164.             %a    @getline(Malchk,n,1);
  165.             case    (n>N,
  166.                 {Yes},{im({No})},,
  167.                 {
  168.                 case    (BINop={M},
  169.                     {Yes},
  170.                     {case    (a={} || @exist(a,comD)={No}
  171.                         && @exist(a,comE)={No} && 
  172.                         @getchar(a,41,1)<>{b} &&
  173.                         @getchar(a,42,1)<>{b} &&
  174.                         @getchar(a,41,1)<>{o} &&
  175.                         @getchar(a,42,1)<>{o} &&
  176.                         @getchar(a,41,1)<>{.} &&
  177.                         @getchar(a,42,1)<>{.},
  178.                         {Yes},{im({Yes})},,
  179.                         {ckMail2;im({Yes})
  180.                         })
  181.                     },,
  182.                     {case    (a={},
  183.                         {Yes},{im({Yes})},,
  184.                         {ckMail2;im({Yes})
  185.                         })
  186.                     });
  187.                 });
  188.             });
  189.         };
  190.     %ckMail2{
  191.         case    (@getchar(a,41,1)={o}||@getchar(a,42,1)={o}||
  192.             @getchar(a,46,1)={o}||@getchar(a,24,1)={o},
  193.             {Yes},
  194.             {
  195.             case    (DelML={all} || DelML={other}
  196.                  &&@strip(@head(@getchar(a,6,9),{ }))<>ID,
  197.                 {Yes},
  198.                 {type(@getchar(a,2,3)|{|K|Y\n});
  199.                 wait    (Wtime2,,
  200.                     {Protocol},{type({Q\n})},
  201.                     {何番を削除しますか},{type({\n})},
  202.                     {何番を消しちゃうの},{type({\n})},
  203.                     {uit},{type({0\n});footnote({メールNo.}
  204.                     |@getchar(a,2,3)|{番を削除しました})},
  205.                     {削除しました},{footnote({メールNo.}
  206.                     |@getchar(a,2,3)|{番を削除しました})}
  207.                     );
  208.                     im({Yes})},,
  209.                     {footnote({メール処理実行中});
  210.                 im({Yes})});
  211.                 },
  212.                 {No},
  213.                 {case(@strip(@head(@getchar(a,24,9),{ }))=ID || 
  214.                 @strip(@head(@getchar(a,15,9),{ }))=ID,
  215.                 {Yes},
  216.                 {footnote({未読メールを確認しました});
  217.                 type(@getchar(a,2,3)|{|K|Y\n});
  218.                 wait(Wtime2,
  219.                 ,{何番を削除しますか},{type({\n})}
  220.                 ,{uit},{type({0\n});footnote({メールNo.}|
  221.                 @getchar(a,2,3)|{番を削除しましス})}
  222.                 ,{削除しました},{footnote({メールNo.}|
  223.                 @getchar(a,2,3)|{番を削除しました})}
  224.                 );im({Yes})
  225.                 },
  226.                 {No},{
  227.                 footnote({メール処理実行中});
  228.                 im({Yes})
  229.                 })
  230.             })
  231.         };
  232.     %Malchk @read(TEMP2|{_maltxt.tmp});
  233.     case    (@exist(Malchk,comA)||@exist(Malchk,comB)||@exist(Malchk,comC)
  234.         ,
  235.         {Yes},{footnote({メールは存在しません})},
  236.         {No},{footnote({メールの読み込み処理を開始します});ckMail});
  237.     WaitMKD;type({0\n});preRetM
  238.     };
  239. /*    メールを読む    */
  240. %typeML    {
  241.     loop    ({
  242.         wait(3,{type({\n});im({Yes})}
  243.         ,{?,E,O},{WaitMK;type({ML\n});im({No})}
  244.         ,{してねっ☆},{WaitMK;type({ML\n});im({No})}
  245.         ,{ヘルプ 表示},{WaitMK;type({ML\n});WaitMK;im({No})}
  246.         ,{メイン},{WaitMK;type({ML\n});WaitMK;im({No})}
  247.         ,{メイン},{WaitMK;type({ML\n});WaitMK;im({No})}
  248.         ,{?,@,O},{WaitMK;type({ML\n});im({No})}
  249.         ,{,?,O},{WaitMK;type({ML\n});im({No})}
  250.         ,{使用できません},{WaitMK;type({0\n});im({Yes})}
  251.         ,{,Q},{WaitMK;type({Q\n});im({Yes})}
  252.         ,{,?,P,0},{WaitMK;type({0\n});im({Yes})}
  253.         ,{,?,0},{WaitMK;type({0\n});im({Yes})})
  254.         });
  255.     };
  256. %NEWMAILL{
  257.     footnote({メール処理開始});
  258.     case(MAILDEL={Yes},
  259.     {Yes},{    DOWNCHECK;type({\n});typeML;
  260.     delfile(TEMP2|{_maltxt.tmp});
  261.     case    (@getchar(ID,1,3),
  262.         {YAG},{wait(3,{type({R\n})},{R:受信},{type({R\n})})},
  263.         {DIG},{wait(3,{type({T|L\n})},{Textmail},{type({T|L\n})});
  264.         });
  265.     type({\n});wait(Wtime2,,{姫},,{------------},);
  266.     receive(TEMP2|{_maltxt.tmp});
  267.     wait    (Wtime2,
  268.         ,{ヘルプ 表示},
  269.         ,{,?,P,0},
  270.         ,{,?,0},);DOWNSTOP;
  271.     case    (ESCon={No},
  272.         {No},    {dispoff(!DEBUG);command({escctr -d}|TEMP2|{ -K}|
  273.             TEMP2|{ }|TEMP2|{_maltxt.tmp});dispoff({No})});
  274.     DOWNSTART;
  275.     case    (@filechk(TEMP2|{_maltxt.tmp})={},
  276.         {Yes},{footnote({メールデータの読み込みに失敗しました})},
  277.         {No},{footnote({既読メールの削除処理をします});DELsyori}
  278.         );
  279.     }
  280.     ,{No},{WaitMK;typeML;
  281.     wait    (3,{type({\n})}
  282.         ,{[RET]},{WaitMK;type({\n})});
  283.     %mailOP @case    (BINop,
  284.             {Z},{im({F|F|0})},
  285.             ,{im({T|F|0})});
  286.     case    (@getchar(ID,1,3),
  287.         {YAG},{wait(3,{type({R\n})},{R:受信},{type({R\n})})},
  288.         {DIG},{wait(3,{type({T\n})},{Textmail},{type({T\n})})}
  289.         );
  290.     wait(Wtime2,{type(mailOP|{\n})},{MAIL},{WaitMK;type(mailOP|{\n})});
  291.     });
  292.     loop    ({wait    (3,{im({Yes})}
  293.             ,{,?,0},{WaitMK;type({0\n});im({Yes})}/*葵ネット対応*/
  294.             ,{ログアウト},{type({N\n});im({Yes})}/*葵ネット対応*/
  295.             ,{電報攻撃},{WaitMK;type({\n});im({Yes})}/*paoネット対応*/
  296.             ,{0:quit},{WaitMK;type({0|0\n});im({No})}
  297.             ,{0[m:[32mquit},{WaitMK;type({0|0\n});im({No})}
  298.             ,{,?,P,0},{WaitMK;type({0|Q\n});im({No})}
  299.             ,{0,Q},{WaitMK;type({Q\n});im({No})}
  300.             ,{Q:Quit},{WaitMK;type({Q\n});im({No})}
  301.             ,{,?,@,O},{im({No})}
  302.             ,{,?,O},{im({No})}
  303.             ,{メイン},{im({No})}
  304.             ,{メイン},{im({No})}
  305.             ,{[36mMAIN},{im({No})}
  306.             ,{= MAIN =},{im({No})}
  307.             ,{\nMAIN },{im({No})})
  308.         });wait(3);
  309.     };
  310. /*      会員名簿を取得する(ID検索用データ)    */
  311. %ACT    {footnote({会員名簿を調べます。});
  312.     wait(1);type({U\n});
  313.     loop    ({
  314.         wait    (3,{im({Yes})}
  315.             ,{A,D,M,},{WaitMK;type({M\n});im({Yes})}
  316.             ,{めのIDは},
  317.             {
  318.             var ProFile[64];
  319.             case    (@nochar(MEMBER),
  320.                 0,{ProFile:=LOG2|{PROFILE\member.lst}},
  321.                 3,{ProFile:=MEMBER},
  322.                 ,{ProFile:=MEMBER}
  323.                 );
  324.             DOWNCHECK;
  325.             footnote({会員名簿を取得します。});
  326.             mkdir2(@body(ProFile,,{\}));delfile(ProFile);
  327.             WaitMK;type({\n});
  328.             receive(ProFile);wait(5);
  329.             loop    ({
  330.                 wait    ({5},{type({\n});im({Yes})}
  331.                     ,{,?,P,0},
  332.                     {WaitMK;type({0|Q\n});im({Yes})}
  333.                     ,{,?,0},
  334.                     {WaitMK;type({0|Q\n});im({Yes})}
  335.                     ,{\nMAIN},{im({No})}
  336.                     ,{36mMAIN},{im({No})}
  337.                     ,{,E,O},{im({No})}
  338.                     ,{,@,O},{im({No})}
  339.                     ,{,?,O},{im({No})}
  340.                     ,{メイン},{im({No})}
  341.                     ,{:メイン},{im({No})}
  342.                     ,{36mメイン},{im({No})}
  343.                     ,{\nメイン},{im({No})})
  344.                 });
  345.             WaitMK;DOWNSTOP;DOWNSTART;im({No})
  346.             });
  347.         })
  348.     };
  349. /*      アクセスユーザーの確認 & 自動トーク処理    */
  350. %Who{    
  351. /*      自動トーク前処理    */
  352. %preTalk{
  353.     var WhoRes[1200];
  354.     WhoRes:=@read(TEMP2|{_whotext.tmp});
  355.     %ckWho{[IDNo,CMNo]
  356.     var n[2]; n:={0};
  357.     %p @case(@getchar(ID,1,3)={YAG},{Yes},{im({2})},{No},{im({})});
  358.     loop    ({    n:=n+1;
  359.         %a    @getline(WhoRes,n,1);
  360.         case    (a={},    
  361.             {Yes},{im({No})},,
  362.             {case    (@strip(@getchar(a,6-p,8))
  363.                 =@strip(@getchar(IDNo,1,8)),
  364.                 {Yes},
  365.                 {footnote(IDNo|{を確認しました});
  366.             sendTalk(@getchar(a,4-p,1),@getchar(a,15-p,8),CMNo)
  367.                 },
  368.                 {No},{footnote({取得データの}|n|{行目を「}|
  369.                 IDNo|{」と比較チェックします});im({Yes})}
  370.                 )
  371.             });
  372.         });
  373.     };
  374.     case(TalkID1={},{No},{ckWho(TalkID1,CMt1)});
  375.     case(TalkID2={},{No},{ckWho(TalkID2,CMt2)});
  376.     case(TalkID3={},{No},{ckWho(TalkID3,CMt3)});
  377.     case(TalkID4={},{No},{ckWho(TalkID4,CMt4)});
  378.     case(TalkID5={},{No},{ckWho(TalkID5,CMt5)});
  379.     case(TalkID6={},{No},{ckWho(TalkID6,CMt6)});
  380.     case(TalkID7={},{No},{ckWho(TalkID7,CMt7)});
  381.     case(TalkID8={},{No},{ckWho(TalkID8,CMt8)});
  382.     case(TalkID9={},{No},{ckWho(TalkID9,CMt9)});
  383.     case(TalkID10={},{No},{ckWho(TalkID10,CMt10)});
  384.     case(TalkID11={},{No},{ckWho(TalkID11,CMt11)});
  385.     case(TalkID12={},{No},{ckWho(TalkID12,CMt12)});
  386.     case(TalkID13={},{No},{ckWho(TalkID13,CMt13)});
  387.     case(TalkID14={},{No},{ckWho(TalkID14,CMt14)});
  388.     case(TalkID15={},{No},{ckWho(TalkID15,CMt15)});
  389.     case(TalkID16={},{No},{ckWho(TalkID16,CMt16)});
  390.     case(TalkID17={},{No},{ckWho(TalkID17,CMt17)});
  391.     case(TalkID18={},{No},{ckWho(TalkID18,CMt18)});
  392.     case(TalkID19={},{No},{ckWho(TalkID19,CMt19)});
  393.     case(TalkID20={},{No},{ckWho(TalkID20,CMt20)});
  394.     };
  395. /*      自動トーク処理    */
  396. %sendTalk{[chNo,HanDle,DenPou]
  397.     sendtype({Ch/1});wait(1);type({T\n});
  398.     loop    ({
  399.         wait    (3,{im({Yes})},
  400.         {チャンネルを指定して下さい}
  401.         ,{WaitMK;type(chNo|{\n});im({Yes})},
  402.         {書き込み中なので送れない}
  403.         ,{im({No})},
  404.         {トークモードに入りました。}
  405.         ,{    
  406.         %nowhh    @getchar(@daylong,16,2);
  407.     case    (4>=nowhh || nowhh>18,
  408.         {Yes},{type({今晩は、}|HanDle|{さん!\n})},
  409.         {No},{
  410.         case    (10>=nowhh && nowhh>4,
  411.             {Yes},{type({お早ようございます、}
  412.                 |HanDle|{さん!\n})},
  413.             {No},{case    (18>=nowhh && nowhh>10,
  414.                     {Yes},{type({今日は、}
  415.                         |HanDle|{さん!\n})}
  416.                     );
  417.                 });
  418.             });wait(1);
  419.         case    (HanDLe={},{No},{type(HanDLe|{です!\n})},,);
  420.         wait(1);type(DenPou|{\n});type({//\n});im({Yes})
  421.         },
  422.         {トークモードを終了しました。},{im({Yes})},
  423.         {,?,P,0},{im({No})},
  424.         {,?,0},{im({No})},
  425.         {メイン},{im({No})},
  426.         {\n= MAIN =},{im({No})},
  427.         {[36m= MAIN =},{im({No})},
  428.         {},{im({No})},
  429.         {メイン},{im({No})},
  430.         {メイン},{im({No})},
  431.         {[36mMAIN},{im({No})},
  432.         {\nMAIN},{im({No})}
  433.             )
  434.         });
  435.     };
  436.     DOWNCHECK;delfile(TEMP2|{_whotext.tmp});receive(TEMP2|{_whotext.tmp});
  437.     WaitMKD;type({W\n});
  438.     footnote({現在}|NET|{-NETにアクセス中のユーザーを確認します});
  439.     preRetM;DOWNSTART;
  440.     case    (CMt1={}&&CMt2={}&&CMt3={}&&CMt4={}&&CMt5={}&&CMt6={}&&
  441.         CMt7={}&&CMt8={}&&CMt9={}&&CMt10={}&&CMt11={}&&CMt12={}&&
  442.         CMt13={}&&CMt14={}&&CMt15={}&&CMt16={}&&
  443.         CMt17={}&&CMt18={}&&CMt19={}&&CMt20={},
  444.         {Yes},{footnote({自動トーク処理は未設定です})},
  445.         {No},
  446.         {
  447.         case    (ESCon={No},
  448.             {No},
  449.             {dispoff(!DEBUG);command(CDIR2|{escctr -d}|TEMP2|
  450.             { -K}|TEMP2|{ }|TEMP2|{_whotext.tmp});dispoff({No})
  451.             },,
  452.             );
  453.         case    (@filechk(TEMP2|{_whotext.tmp})={},
  454.             {Yes},
  455.             {footnote({アクセスデータの読み込みに失敗しました})},
  456.             {No},{footnote({自動トーク処理をします});preTalk}
  457.             )
  458.         });wait(3);
  459.     };
  460. /* 自動トーク反撃処理 */
  461. %BENONres{
  462.  
  463.     };
  464. /*ログ記録を見る処理*/
  465. %logDATA{footnote({ログ記録を見に行きます});WaitMK;type({L\n});
  466.     loop    ({
  467.         wait    (3,{im({Yes})}
  468.             ,{,?,E,O},{im({No})}
  469.             ,{,?,@,O},{im({No})}
  470.             ,{してねっ☆},{im({No})}
  471.             ,{36mメイン},{im({No})}
  472.             ,{:メイン},{im({No})}
  473.             ,{\nメイン},{im({No})}
  474.             ,{メイン},{im({No})}
  475.             ,{,?,O},{im({No})}
  476.             ,{[36mMAIN},{im({No})}
  477.             ,{\nMAIN },{im({No})}
  478.             )
  479.         })
  480.     };
  481. /*    NETの閲覧可能ボードを見る処理    */
  482. %BALL{    footnote({NETの閲覧可能ボードを見ます。});
  483.     mkdir2(LOG2|{board});
  484.     DOWNCHECK;delfile(LOG2|{board\title.txt});
  485.     WaitMK;type({B|A\n});
  486.     wait(Wtime2,
  487.         ,{ボード名},{receive(LOG2|{board\title.txt})}
  488.         ,{ボードタイトル},{receive(LOG2|{board\title.txt})}
  489.         ,{Board title},{receive(LOG2|{board\title.txt})});
  490.     wait    (Wtime2,{WaitMK;type({Q\n})}
  491.         ,{ヘルプ 表示},{WaitMK;type({0\n})}
  492.         ,{,Q},{WaitMK;type({Q\n})});
  493.     DOWNSTOP;wait(2);DOWNSTART
  494.     };
  495. /*ファイル  ボードのNews検索    */
  496. %LIBnew{
  497.     footnote({ファイル  ボードのNews検索実行します});
  498.         mkdir2(LOG2|{fnews});
  499.         type({FN\n});DOWNCHECK;
  500.         receive(LOG2|{fnews\fb}|DAY2|{.new});
  501.         loop    ({
  502.             wait    (3,{im({Yes})}
  503.                 ,{[RET]},{WaitMK;type({\n});im({Yes})}
  504.                 ,{時刻指定},{WaitMK;type({\n});im({Yes})}
  505.                 ,{日付指定},{WaitMK;type({\n});im({Yes})}
  506.                 ,{探すの終わったよ},
  507.                 {WaitMKB;type({Q\n});im({No})}
  508.                 ,{検索が終了しました},
  509.                 {WaitFNEW;im({No})}
  510.                 ,{,Q},{WaitMK;type({Q\n});im({No})}
  511.                 ,{できません},{WaitMK;im({No})}
  512.                 ,{出来ません},{WaitMK;im({No})}
  513.                 )
  514.             });DOWNSTOP;DOWNSTART;preRetM
  515.     };
  516. /*    ファイルボーッドを見る前処理    */
  517. %DATALIB{[lib]
  518.     case    (lib={LIB}||lib={lib},
  519.         {No}, {LIBLIST(lib)},{Yes},{})};
  520. /*    CUGファイルボーッドを見る前処理    */
  521. %sDATALIB{[lib]
  522.     case    (lib={LIB}||lib={lib}||lib={},
  523.         {No}, {sLIBLIST(lib)},{Yes},{});
  524.     };
  525.  
  526.     /* データライブラリ一覧を見る */
  527. %fDATALIB{mkdir2(LOG2|{DATALIB});
  528.     DOWNCHECK;delfile(LOG2|{DATALIB\}|NET|{DLIB.lst});
  529.     WaitMK;type({\n});
  530.     wait(Wtime2,,{入力してねっ☆},{WaitMK;type({F|A\n})}
  531.             ,{K,N,Z,_,@,Q,A,B,C,},{WaitMK;type({F|M\n})}
  532.             ,{K,N,Z,_,@,A,B,C,E,},{WaitMK;type({F|M\n})}
  533.             ,{K,N,_,A,B,C,D,},{WaitMK;type({F|M\n})}
  534.             ,{ヘルプ 表示},{WaitMK;type({F|A\n})}
  535.             ,{B,C,_,E},{WaitMK;type({F|A\n})}/*SSS-NET*/
  536.             ,{B,C,D,E},{WaitMK;type({F|A\n})});
  537.     receive(LOG2|{DATALIB\}|NET|{DLIB.lst});
  538.     wait    (Wtime5,{WaitMK;type({Q\n})}
  539.         ,{ヘルプ 表示},{WaitMK;type({Q\n})}
  540.         ,{利用できません},{WaitMK;type({Q\n})}
  541.         ,{,Q},{WaitMK;type({Q\n})});
  542.     DOWNSTOP;wait(2);DOWNSTART};
  543.  
  544. /*    ファイル  ボードの最新登録状況を見る処理    */
  545. %LIBLIST{    [lib]
  546.     footnote({LIBの最新登録状況を見ます});liblist:=lib;
  547. loop    ({
  548.         mkdir2(LOG2|{DATALIB});
  549.         delfile(LOG2|{DATALIB\#}|@head(liblist,{,})|{DLIB.DAT});
  550.         WaitMK;type({F#}|@head(liblist,{,})|{\n});
  551.         LIBprom1(@head(liblist,{,}),NET);
  552.     liblist:=@body(liblist,{,});
  553.     case    (liblist={},
  554.         {Yes},{im({No})},
  555.         {No},{im({Yes})}
  556.         );
  557.     });
  558.     DOWNSTART
  559.     };
  560. /*    CUGライブラリーの最新登録状況を見る処理    */
  561. %sLIBLIST{    [lib]
  562.     footnote({LIBの最新登録状況を見ます});liblist:=lib;
  563. loop    ({
  564.         mkdir2(LOG2|{DATALIB});
  565.         delfile(LOG2|{DATALIB\#}|@head(liblist,{,})|{DLIB.DAT});
  566.         WaitMK;
  567.         type({F#}|@head(liblist,{,})|{|}|Spasswd|{\n});
  568.         LIBprom1(@head(liblist,{,}),Spasswd);
  569.     liblist:=@body(liblist,{,});
  570.     case    (liblist={},
  571.         {Yes},{im({No})},
  572.         {No},{im({Yes})}
  573.         );
  574.     });
  575.     DOWNSTART
  576.     };
  577. /************************************************************************
  578. *    ボード処理の定義                        *
  579. *    Forum({ネット名},{ボード番号リスト},{ライブラリ番号リスト})            *
  580. *        ボード番号リストで指定された会議室の未読を読み        *
  581. *        ライブラリ番号リストが指定されていればデータライブラリをちらっと見る    *
  582. *************************************************************************/
  583. /*未読ポインタの指定処理(ミンキームーンNET)*/
  584. %UREDpoint{
  585.     case    (NET={MMN}||NET={mmn},
  586.         {Yes},
  587.         {type({^\n})
  588.         })
  589.     };
  590. /****** ボート未読共通処理 *******/
  591. %BODprom1{
  592.     %time1    @linetime;
  593.     %TimeCHK{
  594.         %time2    @linetime-time1;
  595.         case    (DEBUG,{Yes},
  596.             {display({タイムチェック実行 time=}|time2|{です\n});
  597.             });
  598.         wait(1);
  599.         case    (time2>1/6,
  600.             {No},{type({\n});im({Yes})},
  601.             {Yes},{type({\n});im({No});
  602.             display({\n次の処理に移ります。 time=}|time2|{です\n})
  603.             });
  604.         };
  605.     loop    ({
  606.         wait    (5,{im({Yes})}
  607.             ,{システムがダウンしました},
  608.             {AbortOff({\nホストのシステムがダウンしちゃった~\n});
  609.                 im({No})}
  610.             ,{\n= MAIN =},{TimeCHK}
  611.             ,{36m= MAIN =},{TimeCHK}
  612.             ,{36mメイン},{TimeCHK}
  613.             ,{\nメイン},{TimeCHK}
  614.             ,{:メイン},{TimeCHK}
  615.             ,{メイン},{TimeCHK}
  616.             ,{[36mMAIN},{TimeCHK}
  617.             ,{\nMAIN },{TimeCHK}
  618.             ,{ボードのグループでは},{im({No})}
  619.             ,{ボードが見つか},{WaitMK;type({N|Q\n});im({Yes})}
  620.             ,{書式が違います},{im({Yes})}
  621.             ,{ボードには入れ},
  622.             {WaitMK;type({Q\n});
  623.             loop    ({
  624.                 wait    (3,{im({Yes})}
  625.                     ,{[N]},{type({N\n});im({Yes})}
  626.                     ,{YY/MM/DD},
  627.                     {WaitMK;type(mPOINT|{\n});im({Yes})}
  628.                     ,{時刻指定},
  629.                     {WaitMK;type(mPOINT|{\n});im({Yes})}
  630.                     ,{日付指定},
  631.                     {WaitMK;type(mPOINT|{\n});im({Yes})}
  632.                     ,{,Q},{type({Q\n});im({No})}
  633.                       ,{0:中止},{type({0\n});im({No})}
  634.                     );
  635.                  });
  636.             im({Yes})
  637.             }
  638.             ,{パスワードが違},{im({Yes})}
  639.             ,{[N]},{WaitMK;type({N\n});im({Yes})}
  640.             ,{次ね},{WaitMK;type({F\n});im({Yes})}
  641.             ,{[RET]:},{WaitMK;type({\n});im({Yes})}
  642.             ,{[32mnext},{WaitMK;type({F\n});im({Yes})}
  643.             ,{:next},{WaitMK;type({F\n});im({Yes})}
  644.             ,{[36mSELECT},{WaitMK;type({Q\n});im({Yes})}
  645.             ,{\nSELECT},{WaitMK;type({Q\n});im({Yes})}
  646.             ,{,?,P,0},{WaitMK;type({0\n});im({Yes})}
  647.             ,{,?,0},{WaitMK;type({0\n});im({Yes})}
  648.             ,{ヘルプ 表示},{WaitMK;type({0\n});im({Yes})}
  649.             ,{メッセージは以上},{WaitMKB;type({0|Q\n});im({No})}
  650.             ,{メッセージが見つか},{WaitMKB;type({0|Q\n});im({No})}
  651.             ,{さて、どうするのかな?},{WaitMK;type({\n});im({No})}
  652.             ,{検索},{;im({Yes})}
  653.             ,{YY/MM/DD},{WaitMK;type(mPOINT|{\n});im({Yes})}
  654.             ,{時刻指定},{WaitMK;type(mPOINT|{\n});im({Yes})}
  655.             ,{日付指定},{WaitMK;type(mPOINT|{\n});im({Yes})}
  656.             ,{ESCカットしますか?},
  657.             {WaitMK;type({N\n});
  658.             wait(Wtime1,,{NEWS},{WaitMK;type({\n})});
  659.             wait(Wtime2,,{0:quit},{WaitMK;type({0\n})});im({No})});
  660.         });preRetM;/*wait(1)*/
  661.     };
  662. /* ボードを指定した場合の処理 */
  663. %GOBOAD    {[fname,boadlist,lib]
  664.     footnote(fname|{をダウンロードしています});MESREAD(boadlist);
  665.     case(lib<>{} && DORTbbs={Yes},{Yes},{DATALIB(lib)});
  666.     case(@filechk(LOG2|{DATALIB\}|NET|{DLIB.lst}),
  667.     {No},{fDATALIB})};
  668. /* CUGボードを指定した場合の処理 */
  669. %GOCUG    {[fname,Sboadlist,Spasswd,lib]
  670.     footnote(fname|{のCUGボードNo.#}|Sboadlist|{をダウンロードします});
  671.     SMESREAD(Sboadlist,Spasswd);
  672.     case    (lib<>{}||lib<>{CRLF},
  673.         {Yes},    {
  674.             case    (DORTbbs={Yes},{Yes},{sDATALIB(lib)});
  675.             });
  676.     };
  677. /*    ボードの未読を全部読む    */
  678. %MESREAD{    [boadlist]    var boadNo[300];boadNo:=boadlist;
  679.     case    (boadNo<>{},{Yes},{
  680.     case(boadNo={all}||boadNo={ALL}||boadNo={ALL},
  681.     {No},{footnote({指定された各ボードの発言をダウンします});
  682.     loop    ({case    (boadNo={},{Yes},{im({No})},
  683.         {No},{WaitMK;
  684.         type({B#}|@head(boadNo,{,})|{|N\n});
  685.         BODprom1;boadNo:=@body(boadNo,{,});im({Yes});
  686.         footnote({続いてボードNo}|boadNo|{の発言のログをダウンします});
  687.             });
  688.         });
  689.     },
  690.     {Yes},{footnote({各ボードの発言を全てダウンします});
  691.     type({BN|Y\n});
  692.     wait(Wtime2,
  693.     ,{使用出来ません},{}
  694.     ,{NEWS},{WaitMK;type(mPOINT|{\n})}
  695.     ,{[RET]},{WaitMK;type(mPOINT|{\n})}
  696.     ,{カットしますか},{WaitMK;type({N\n});
  697.             wait(Wtime1,,{NEWS},{WaitMK;type(mPOINT|{\n})});}
  698.     ,{カットしますか},{WaitMK;type({N\n});
  699.             wait(Wtime1,,{NEWS},{WaitMK;type(mPOINT|{\n})});});
  700.     loop    ({
  701.         wait(5,{im({Yes})}
  702.         ,{\nNO CARRIER},{AbortOff({\nホストが勝手に切断しちゃった~\n})}
  703.         ,{もちろん読む},{WaitMK;type({\n});im({Yes})}
  704.         ,{quit},{WaitMK;type({0|Q\n});im({No})}
  705.         ,{?,Q},{WaitMK;type({Q\n});im({No})}
  706.         ,{ボードが見つかりません},{WaitMKB;type({Q\n});im({No})}
  707.         ,{探すの終わったよ},{WaitMKB;type({Q\n});im({No})}
  708.         ,{検索が終了しました},{WaitMKB;type({Q\n});im({No})})
  709.         });
  710.     })});
  711.     footnote({各ボードの発言のログをダウンしました});preRetM
  712.     };
  713. /*    CUGボードの未読を読む    */
  714. %SMESREAD{    [Sboadlist,Spasswd]    var boadNo[300];boadNo:=Sboadlist;
  715.     case    (boadNo<>{},{Yes},{
  716.     footnote({指定された各CUGボードの発言をダウンします});
  717.     loop    ({
  718.     case    (boadNo={}||boadNo={all}||boadNo={ALL},{Yes},{im({No})},
  719.         {No},{
  720.         WaitMK;type({B#}|@head(boadNo,{,})|{|}|Spasswd|{\n});
  721.         WaitMK;type({B#}|@head(boadNo,{,})|{|N\n});
  722.         BODprom1;boadNo:=@body(boadNo,{,});im({Yes});
  723.         footnote({続いてボードNo}|boadNo|{の発言のログをダウンします});
  724.             });
  725.         });
  726.         });
  727.     footnote({各ボードの発言のログをダウンしました})
  728.     };
  729. /*    自動通信処理    */
  730. %DOrtbbs{    var DATE[24];var n[3];var b[2];
  731.     case(@filechk(LOG2|{board\title.txt}),{No},{BALL});
  732.     %rtbbs1    {case    (@nth(a,1,{/}),
  733.             {NEWS検索},
  734.             {case    (@filechk(LOG2|{fnews\fb}|DAY2|{.new})={No},
  735.                 {Yes},{LIBnew},
  736.                 {No},{footnote({本日のNEWS検索データファイル「FB}
  737.                 |DAY2|{.new」は既に取得済です})
  738.                 })
  739.             },
  740.             {ボード},
  741.             {GOBOAD(@nth(a,3,{/}),@nth(a,4,{/}),@nth(a,5,{/}))},
  742.             {SIGボード},
  743.             {GOCUG(@nth(a,3,{/}),@nth(a,4,{/}),@nth(a,5,{/})
  744.                             ,@nth(a,6,{/}))},
  745.             {CUGボード},
  746.             {GOCUG(@nth(a,3,{/}),@nth(a,4,{/}),@nth(a,5,{/})
  747.                             ,@nth(a,6,{/}))})
  748.         };
  749.     DATE:=@getdt;    n:=0;
  750.     loop    ({    n:=n+1;
  751.         %a    @getline(TGK,n,1);
  752.         case    (a={},{Yes},{im({No})},,
  753.             {case    (@nth(a,2,{/}),
  754.                 {未定},,
  755.                 {毎日},rtbbs1,
  756.                 {奇数},{case    (@getchar(DATE,10,1),
  757.                     {1},rtbbs1,{3},rtbbs1,{5},rtbbs1,
  758.                     {7},rtbbs1,{9},rtbbs1)},
  759.                 {偶数},{case    (@getchar(DATE,10,1),
  760.                     {0},rtbbs1,{2},rtbbs1,{4},rtbbs1,
  761.                     {6},rtbbs1,{8},rtbbs1)},
  762.                 ,{case    (@getchar(@nth(a,2,{/}),1,2),
  763.                     @getchar(DATE,13,2),rtbbs1,
  764.                     @getchar(DATE,9,2),rtbbs1,
  765.                     {複},    {b:=2;
  766.                         loop({
  767.                         case(@nth(@nth(a,2,{/}),b,{,}),
  768.                         @getchar(DATE,13,2),
  769.                         {rtbbs1;im({No})},
  770.                         @getchar(DATE,9,2),
  771.                         {rtbbs1;im({No})},
  772.                         {奇},
  773.                         {case(@getchar(DATE,10,1),
  774.                             {1},{rtbbs1;im({No})},
  775.                             {3},{rtbbs1;im({No})},
  776.                             {5},{rtbbs1;im({No})},
  777.                             {7},{rtbbs1;im({No})},
  778.                             {9},{rtbbs1;im({No})})},
  779.                         {偶},
  780.                         {case(@getchar(DATE,10,1),
  781.                             {0},{rtbbs1;im({No})},
  782.                             {2},{rtbbs1;im({No})},
  783.                             {4},{rtbbs1;im({No})},
  784.                             {6},{rtbbs1;im({No})},
  785.                             {8},{rtbbs1;im({No})})},
  786.                         {終わり},
  787.                         {im({No})},
  788.                         ,{b:=b+1;im({Yes})});
  789.                         });
  790.                         }
  791.                     )}
  792.                 );
  793.             im({Yes});
  794.             });
  795.         });
  796.     };
  797. /*    自動通信処理    */
  798.     DOWNSTART;CHeck:={Yes};
  799.     case(@filechk(LOG2|{アクセスdat\ゾクセイ.DAT})={Yes}&&ESCon={Yes}||
  800.         @filechk(LOG2|{アクセスdat\ゾクセイ.DAT})={Yes}&&
  801.         @filechk(LOG2|{アクセスdat\ゾクセイoff.DAT})={Yes}||
  802.         @filechk(LOG2|{アクセスdat\ゾクセイ.DAT})={Yes}&&ESCon={}||                @filechk(LOG2|{アクセスdat\ゾクセイoff.DAT})={Yes}&&ESCon={No},
  803.     {Yes},{},{No},{footnote({端末属性を設定中});ZOKU;footnote({})});
  804.     case(WHO,{first},{Who});
  805.     case(DLLIST,{new},{LIBnew});
  806.     case    (ID={}||ID={GUEST},
  807.         {No},{
  808.         case    (MAILRED||MAILDEL,{Yes},{NEWMAILL});
  809.         case    (@filechk(UP2|{DENGO})||JISAR,{Yes},{DENGON})
  810.         });
  811.     case(DORTbbs={Yes}||DORTbbs={BoD},{Yes},{UREDpoint;DOrtbbs});
  812.     case(WHO,{last},{Who});case(MACTIV,{Yes},{ACT});
  813.     case(BDLIST,{Yes},{BALL});
  814.     case(DLLIST,{Yes},{fDATALIB});
  815.     case(LGLOOK={ 1},{Yes},{logDATA});
  816. DOWNSTOP;